package org.power.core.util;

import org.apache.commons.io.FilenameUtils;

import java.io.File;

public class FileUtil {
    /**
     * 根据文件的绝对路径创建一个文件对象.
     *
     * @return 返回创建的这个文件对象
     * @author Mr.Zhang
     * @since 2020-05-08
     */
    public static File createFile(String filePath) throws Exception {
        // 获取文件的完整目录
        String fileDir = FilenameUtils.getFullPath(filePath);
        // 判断目录是否存在，不存在就创建一个目录
        File file = new File(fileDir);
        if (!file.isDirectory()) {
            //创建失败返回null
            if (!file.mkdirs()) {
                throw new Exception("文件目录创建失败...");
            }
        }
        // 判断这个文件是否存在，不存在就创建
        file = new File(filePath);
        if (!file.exists()) {
            if (!file.createNewFile()) {
                throw new Exception("目标文件创建失败...");
            }
        }
        return file;
    }

    public static boolean deleteFile(File file) {
        try {
            file.delete();
            return true;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return false;
    }

    public static boolean exist(File file) {
        if (null != file) {
            if (file.exists()) {
                return true;
            }
        }
        return false;
    }

    public static boolean exist(String path) {
        return exist(new File(path));
    }
}
